package com.wrater.zero.common.base;

import lombok.Getter;

/**
 * 全局异常枚举
 */
@Getter
public enum ResultExceptionEnum {

    /**
     * 默认异常
     */
    DEFAULT_EXCEPTION(100, "失败"),

    /**
     * 未知异常
     */
    UNKNOWN_EXCEPTION(101, "未知异常"),

    /**
     * 添加失败
     */
    ADD_ERROR(103, "添加失败"),

    /**
     * 更新失败
     */
    UPDATE_ERROR(104, "更新失败"),

    /**
     * 删除失败
     */
    DELETE_ERROR(105, "删除失败"),

    /**
     * 查找失败
     */
    GET_ERROR(106, "查找失败"),

    /**
     * 分页参数异常
     */
    PAGE_PARAM_ERROR(107, "分页参数异常"),

    ;

    private Integer code;

    private String msg;

    ResultExceptionEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    /**
     * 通过状态码获取枚举对象
     * @param code 状态码
     * @return 枚举对象
     */
    public static ResultExceptionEnum getByCode(int code){
        for (ResultExceptionEnum resultEnum : ResultExceptionEnum.values()) {
            if(code == resultEnum.getCode()){
                return resultEnum;
            }
        }
        return null;
    }

}